Probabilistic Data Structures for Priority Queues
نویسندگان
چکیده
We present several simple probabilistic data structures for implementing priority queues. We present a data structure called simple bottom-up sampled heap (SBSH), supporting insert in O(1) expected time and delete, delete minimum, decrease key and meld in O(log n) time with high probability. An extension of SBSH called BSH1, supporting insert and meld in O(1) worst case time is presented. This data structure uses a novel “buffering technique” to improve the expected bounds to worst-case bounds. Another extension of SBSH called BSH2, performing insert, decrease key and meld in O(1) amortized expected time and delete and delete minimum in O(log n) time with high probability is also presented. The amortized performance of this data structure is comparable to that of Fibonacci heaps (in probabilistic terms). Moreover, unlike Fibonacci heaps, each operation takes O(log n) time with high probability, making the data structure suitable for real-time applications.
منابع مشابه
Data structures with dynamical random transitions
We present a (non-standard) probabilistic analysis of dynamic data structures whose sizes are considered dynamic random walks. The basic operations (insertion, deletion, positive and negative queries, batched insertion, lazy deletion, etc.) are time-dependent random variables. This model is a (small) step toward the analysis of these structures when the distribution of the set of histories is n...
متن کاملThe Maximum Size of Dynamic Data Structures
This paper develops two probabilistic methods that allow the analysis of the maximum data structure size encountered during a sequence of insertions and deletions in data structures such as priority queues, dictionaries, linear lists, and symbol tables, and in sweepline structures for geometry and Very-LargeScale-Integration (VLSI) applications. The notion of the "maximum" is basic to issues of...
متن کاملAn Efficient Construction Algorithm for a Class of Implicit Double-Ended Priority Queues
Priority queues and double-ended priority queues are fundamental data types in Computer Science, and various data structures have been proposed to implement them. In particular, diamond deques, interval heaps, min-max-pair heaps, and twin-heaps provide implicit structures for double-ended priority queues. Although these heap-like structures are essentially the same when they are presented in an...
متن کاملPractical Concurrent Priority Queues
Priority queues are abstract data structures which store a set of key/value pairs and allow efficient access to the item with the minimal (maximal) key. Such queues are an important element in various areas of computer science such as algorithmics (i.e. Dijkstra’s shortest path algorithm) and operating system (i.e. priority schedulers). The recent trend towards multiprocessor computing requires...
متن کاملMultiQueues: Simpler, Faster, and Better Relaxed Concurrent Priority Queues
Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or branchand-bound. However, a classical priority queue constitutes a severe bottleneck in this context, leading to very small throughput. Hence, there has been significant interest in concurrent priority queues with a somewhat relaxed semantics w...
متن کامل